package com.ynet.middleground.user.bean;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

import com.ynet.core.common.BaseReqObjPager;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @program: 2019-10-12_userCenter
 * @description: 查询用户信息
 * @author: DaiGaoLe
 * @create: 2019-10-21 17:38
 **/
@Data
@ApiModel(value = "查询用户信息请求对象", description = "查询用户信息请求对象")
public class QueryUserInfoReq extends BaseReqObjPager {
    private static final long serialVersionUID = 8976477216610690801L;
    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id", notes = "用户id", dataType = "Integer")
    private Integer userId;

    /**
     * 用户名称
     */
    @ApiModelProperty(value = "用户名称", notes = "用户名称", dataType = "String")
    private String userName;

    /**
     * 证件类型：00-统一社会信用代码,01-组织机构代码证,营业执照,税务登记证,04-身份证
     */
    @ApiModelProperty(value = "证件类型：00-统一社会信用代码,01-组织机构代码证,营业执照,-税务登记证,04-身份证", notes = "证件类型：00-统一社会信用代码,01-组织机构代码证,营业执照,税务登记证,04-身份证", dataType = "String")
    private String papersType;

    /**
     * 证件编号,当证件种类为00时该字段为统一社会信用代码,01时该字段为组织机构代码,04时为身份证
     */
    @ApiModelProperty(value = "证件编号,当证件种类为00时该字段为统一社会信用代码,01时该字段为组织机构代码,04时为身份证", notes = "证件编号,当证件种类为00时该字段为统一社会信用代码,01时该字段为组织机构代码,04时为身份证", dataType = "String")
    private String papersNo;
    
    /**
     * 营业执照编号
     */
    @ApiModelProperty(value = "营业执照编号", notes = "营业执照编号", dataType = "String")
    @Pattern(regexp = "^[\\x01-\\x7f]*$", message = "不能有中文字符")
    private String bussinessLicenseNo;
    
    /**
     * 税务登记证编号
     */
    @ApiModelProperty(value = "税务登记证编号", notes = "税务登记证编号", dataType = "String")
    @Pattern(regexp = "^[\\x01-\\x7f]*$", message = "不能有中文字符")
    private String taxRegistrationNo;

    /**
     * 用户账号
     */
    @ApiModelProperty(value = "用户账号", notes = "用户账号", dataType = "String")
    private String userAccounts;

    /**
     * 用户手机号
     */
    @ApiModelProperty(value = "用户手机号", notes = "用户手机号", dataType = "String")
    private String userMobile;

    // 跨渠道访问交由内管控制 不由渠道端自行控制 by yangbh in 20200707 start
/*    *//**
     * 渠道标识：C01-小贷,C02-保理,C03-青岛易付,C04-财务信贷平台,C05-中台内管
     *//*
    @ApiModelProperty(value = "渠道标识：C01-小贷,C02-保理,C03-青岛易付,C04-财务信贷平台,C05-中台内管", notes = "渠道标识：C01-小贷,C02-保理,C03-青岛易付,C04-财务信贷平台,C05-中台内管", dataType = "String")
    private String channelQuery;*/
    // 跨渠道访问交由内管控制 不由渠道端自行控制 by yangbh in 20200707 start
    
    /**
     * 所属企业id
     */
    @ApiModelProperty(value = "所属企业id(即企业客户的userId)", notes = "所属企业id(即企业客户的userId)", dataType = "Integer")
    private Integer enterpriseId;
    
    /**
     * 上级企业id
     */
    @ApiModelProperty(value = "上级企业id", notes = "上级企业id", dataType = "Integer")
    private Integer parentId;
    
    /**
     * 山港易付id
     */
    @ApiModelProperty(value = "山港易付id", notes = "山港易付id", dataType = "String")
    private String sgyfId;
    
    /**
     * 钉钉账号
     */
    @ApiModelProperty(value = "钉钉账号", notes = "钉钉账号", dataType = "String")
    private String dingtalkUserid;

    @ApiModelProperty(value = "业态公司id", notes = "业态公司id")
    private Integer formatId;

    @ApiModelProperty(value = "用户类型,0-企业用户，2-个人用户，3企业员工用户", notes = "用户类型,0-企业用户，2-个人用户，3企业员工用户")
    private String userType;
}
